#ifndef IMAGE_OWN_H_
#define IMAGE_OWN_H_

#include <iostream>
#include <mutex>
#include <ros/ros.h>
#include <std_msgs/Bool.h>
#include <std_msgs/Empty.h>
#include <geometry_msgs/Twist.h>
#include <image_transport/image_transport.h>
#include <cv_bridge/cv_bridge.h>
#include <tf/tf.h>
#include <tf/transform_listener.h>
#include <sensor_msgs/CameraInfo.h>
#include <sensor_msgs/Image.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

namespace cv_camera_state
{

class CameraState
{

private:
    ros::NodeHandle nh;
    ros::NodeHandle nh_private;
    ros::Subscriber sub_intrinsics;
    ros::Subscriber sub_image;
    ros::Publisher pub_detection;

    void run();

public:
    CameraState();
    ~CameraState();
};

}

#endif
